package com.yimu.ymblog.admin.service;

import com.yimu.ymblog.common.domain.admin.vo.user.*;
import com.yimu.ymblog.common.utils.PageResponse;
import com.yimu.ymblog.common.utils.Response;

public interface AdminUserService {
    /**
     * 修改密码
     * @param updateAdminUserPasswordReqVO
     * @return
     */
    Response updatePassword(UpdateAdminUserPasswordReqVO updateAdminUserPasswordReqVO);

    /**
     * 获取当前登录用户信息
     * @return
     */
    Response findUserInfo();

    /**
     * 邮箱注册
     * @param emailRegisterReqVO
     * @return
     */
    Response emailRegister(EmailRegisterReqVO emailRegisterReqVO);

    /**
     * 发送邮箱验证码
     * @param email
     * @return
     */
    Response sendEmailCode(String email, Long type);

    /**
     * 忘记密码
     * @param emailForgetPasswordReqVO
     * @return
     */
    Response forgetPassword(EmailForgetPasswordReqVO emailForgetPasswordReqVO);

    /**
     * 获取用户分页列表
     * @param findUserPageListReqVO
     * @return
     */
    PageResponse findUserPageList(FindUserPageListReqVO findUserPageListReqVO);

    /**
     * 改变用户状态
     * @param updateUserStatusReqVO
     * @return
     */
    Response changeUserStatus(UpdateUserStatusReqVO updateUserStatusReqVO);
}